package ig.metrica.ui.formatos;

import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.swing.JOptionPane;

import ig.metrica.origenesdedatos.Conexion;
import ig.metrica.origenesdedatos.ConexionHome;
import ig.metrica.origenesdedatos.Formato;
import ig.metrica.origenesdedatos.FormatoHome;
import ig.metrica.ui.PantallaBusquedaSevinproPanel;
import ig.metrica.ui.WizzardSevinproPanel;
import ig.util.ConexionServer;
import ig.util.ejb.IGBean;
import ig.util.ejb.IGLlaveInt;

public class PantallaBusquedaFormatos extends PantallaBusquedaSevinproPanel {

	private PanelDatosBasicosBusqueda panel;
	private String[] titulos;
	private ArrayList datos;
	
	public PantallaBusquedaFormatos( PanelDatosBasicosBusqueda panel, WizzardSevinproPanel wizzard ){
		super(panel, wizzard, new ModeloTablaResultadoBusquedaFormatos(new String[] {"Codigo","Nombre"}, new ArrayList()) );
		this.panel = panel;			
		this.datos = new ArrayList();
		((ModeloTablaResultadoBusquedaFormatos)tabla.getModel()).setDatos( datos );		
	}
	
	protected void accionBuscar(){
		
		datos = new ArrayList();
		
		Properties prop = new Properties();
		prop.put( Context.INITIAL_CONTEXT_FACTORY, IGBean.INITIAL_CONTEXT_FACTORY);
		
		String Sockec = new ConexionServer().getSocketServer();
		prop.put( Context.PROVIDER_URL, Sockec);
		
		try {
			InitialContext ctx = new InitialContext(prop);
			//JOptionPane.showMessageDialog(null,Sockec);
			
			FormatoHome home = (FormatoHome)ctx.lookup("ig.metrica.origenesdedatos.Formato");
			
			Collection resultado = home.findByPropiedades( panel.getNombre());
			
			Iterator i = resultado.iterator();
			
			//String a=new String(null);
			
			while (i.hasNext()){
				Formato conexion = (Formato)i.next();
				Object[] registro = new Object[2];
				registro[0] = new Long( ((IGLlaveInt)conexion.getPrimaryKey()).getIdInterna() );
				if(conexion.getNombre()!=null) registro[1] = new String( conexion.getNombre() );
				
				datos.add( registro );
			}
		} catch (Exception e) {
			//JOptionPane.showInternalMessageDialog( this,"Error: \n"+e.toString() );
                        JOptionPane.showMessageDialog( this,"Error:"+ e.toString(),"Mensaje",JOptionPane.OK_CANCEL_OPTION );                        
                                                                        
		}
		
		((ModeloTablaResultadoBusquedaFormatos)tabla.getModel()).setDatos( datos );
		//((AbstractTableModel)tabla.getModel()).fireTableDataChanged();
	
	}

}


